using MediatR;
using B.S.XZYData.ErrorCode;

namespace B.S.XZYData.Api.Wrter.Application.Command.WorkTask
{
    /// <summary>
    /// 更新任务命令
    /// </summary>
    public class UpdateWorkTaskCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 任务ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 工序ID
        /// </summary>
        public long ProcessId { get; set; }

        /// <summary>
        /// 分配列表
        /// </summary>
        public string? AllocationList { get; set; }

        /// <summary>
        /// 计划开始时间
        /// </summary>
        public DateTime? PlannedStartTime { get; set; }

        /// <summary>
        /// 计划结束时间
        /// </summary>
        public DateTime? PlannedEndTime { get; set; }

        /// <summary>
        /// 计划数
        /// </summary>
        public int PlannedQuantity { get; set; }

        /// <summary>
        /// 良品数
        /// </summary>
        public int GoodQuantity { get; set; }

        /// <summary>
        /// 不良品数
        /// </summary>
        public int DefectiveQuantity { get; set; }

        /// <summary>
        /// 实际开始时间
        /// </summary>
        public DateTime? ActualStartTime { get; set; }

        /// <summary>
        /// 实际结束时间
        /// </summary>
        public DateTime? ActualEndTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        public string? Updator { get; set; }
    }
} 